技術問答
技術文章
iT 徵才
Tag
聊天室
2024 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2022 iThome 鐵人賽
DAY
27
1
自我挑戰組
開始系統測試
系列 第
27
篇
Day 27 | Web測試
14th鐵人賽
Pancy
2022-10-12 02:04:39
2068 瀏覽
分享至
(一)、分布式多層結構
(二)、Web的測試方法
Web測試的總體攻略
表現層
對每一個業面進行拼寫、語法、風格等檢查
確保字體在不同瀏覽器中相同
確保每一個連結都指向正確的位置
檢查圖片確保解析度和大小正確
在頁面載入時確定鼠標位置,以確保其在正確的文本框中
確認頁面載入時選擇了默認的按鈕
檢查交互性操作的用戶友好度反饋以及體驗一致性
檢查商業或行業特定術語與風格的使用
業務層
確保有正確收集數據
檢查電話號碼、電子郵件、收件地址……等格式是否正確
檢查字元集是否洽當
確保響應時間、吞吐綠等性能指標得到了滿足
驗證任務正確完成
確保失敗的任務回滾(rollback)正確
測試連通冗餘 - 在N個瀏覽器上登入同樣帳號後,是否可正常操作,或是設計僅允許一個瀏覽器登入(如銀行)
測試網路中斷時程式反應
資料層
確保資料庫操作滿足效能要求
驗證數據儲存適當且正確
驗證可使用當前備份來恢復
測試故障處理和冗餘功能
測試數據加密和安全性
測試後端數據輸入與管理功能的可用性及準確性
Web測試的範圍
功能
性能
介面
兼容性
安全性
DB
文件
Web測試的方法
功能測試 - 主要從連結、表單、Cookies、設計語言、資料庫、文件上傳等方面進行。
連結
即超連結,可指向網頁、同頁面上的不同位置、圖片、電子郵件、文件、應用程式。
常見錯誤:
錯誤連結 - 如URL錯誤、大小寫不完全正確、網域拼寫錯誤等。
空連結 - 點擊時不會指向任何內容
死連結 - 原來正常後來失效的連結
孤立頁面 - 沒有任何連結指向該頁面,只有知道正確的網址才能訪問。
表單
主要關注程式是否能正確的處理使用者提交的訊息,並將訊息正確的反饋給使用者
測試時應注意:
輸入框長度是否有限制
輸入框對於字元類型是否有限制(中、英、數或特殊符號等)
輸入框與輸入內容的型態是否相同,如日期欄位只能匹配不同的日期格式,不能匹配其他格式的數據
各按鈕執行的功能是否正確
Cookies
Cookies能夠讓網站把少量數據儲存到使用者的硬碟或記憶體,或是從使用者的硬體讀取資料的技術
Cookies的用途
自動登入
廣告投放
Cookies的測試包含:
Cookies安全性
最好不要儲存機敏資訊,如真有必要則需進行加密處理
過期時間是否正確
Cookies的變數名稱與值是否正確
Cookies是否必要或缺少
生成的Cookies文件與創建的一致
對於不必要的Cookies可以刪除
Cookies的作用區域是否合理
多個Cookies作用區域之間關係的測試
設計語言測試
版本差異可能會導致客戶端或者伺服器端的異常,如使用哪個版本的HTML等
不同的腳本語言如Java、JavaScript也要驗證
關於設計語言的測試,應注意:
瀏覽器的內核引擎不同,會導致與不同的開發語言的兼容情形不同
不同的設計語言與平台也有不同的兼容性
執行時兼也不同
嵌入其他語言的能力,以利實現其他當前腳本語言無法完成的功能。
資料庫可能升級,需考慮腳本語言對資料庫的完善程度
文件上傳
只能上傳允許的檔案類型
不能上傳腳本或可執行文件
不能單純以後綴文字來判斷檔案類型
瀏覽文件後,可以正常處理刪除文件時出現的異常情形
上傳超大文件時可以正常處理,比如給出提示訊息等
上傳的文件應該提供API查看
上傳的文件不應該直接保存在DB中,而是將文件保存在伺服器端的硬碟,而DB只保存該文件的基本資訊
文件上傳到伺服器端應該重新命名,防止文件名稱衝突
性能測試
連結速度測試 - 響應時間不能太長,一般不超過5秒
負載測試 - 測試系統能承受的最大負載(如最大用戶數、最大業務量等)以及性能表現
壓力測試 - 測試系統在一定壓力下的性能表現,通常錯誤率不能超過5%
介面測試
格式驗證 - 測試Web頁面中一些空間默認的標準定義,如默認值、項目排序等
導覽列測試
導覽列可正確顯示,且顯示的內容正確
不同狀態下(如登入和未登入),導覽列顯示的內容是否正確
導覽列的每項內容連結是否正確
拚寫和語法測試 - 測試頁面內容、菜單、連結、圖片、表格等內容的拼寫和語法
頁面排版測試
頁面標題驗證
頁面元素(文字、視窗、連結)排版驗證
圖形驗證
版本訊息驗證
不同解析度下頁面顯示情況驗證
頁面長度驗證
Tab測試 - Tab順序正確跳轉
安全性測試
基本安全測試
各種登入模式的安全性驗證
用戶權限(如功能限制、資料查看限制)的驗證
Cookies和Session的有效期驗證等特殊機制
敏感數據加密、資料儲存安全性
測試軟體不會因為異常條件下錯誤操作導致不安全狀態
其他安全漏洞的檢查,如WSDigger掃描
跨站點攻擊XSS
SQL注入
認證測試
登入頁面是否存在驗證碼
驗證碼和帳號、密碼是否一次性、同時交給伺服器驗證,如果分開提交則存在漏洞
驗證碼檢驗通過後才進行帳號和密碼的檢驗
觀察驗證碼是否為隨機生成,若存在規律性則說明存在漏洞
驗證碼背景如果為純色則存在漏洞
認證一次後是否立刻失效
不能對認證錯誤提示準確的訊息,如帳號錯誤、密碼錯誤等
合理的鎖定機制
防止認證被繞過,如SQL注入
會話管理(session)測試
登入後身分訊息不再由客戶端提交,而是以伺服器端會話訊息保存的身分訊息為準
URL不能有Session ID訊息
登入後的頁面要有明確的登出按鈕,登出後要清除Session
權限管理測試
橫向越權 - 攻擊者嘗試訪問與他擁有相同權限的用戶的資源
縱向越權 - 低級別的攻擊者嘗試訪問高級別用戶的資源
文件和目錄測試
不存在不需要對外開放的敏感API或API進行的完善的權限控制
禁止獲取敏感的目錄或文件資訊
所有對目錄的訪問都不能顯示出文件列表
禁止訪問和下載文件的備份
不能越權獲取文件 - 如DirBuster掃描
資料庫測試
是為了發現錯誤和缺陷而運行DB的過程
資料庫測試也分成白箱測試和黑箱測試
資料庫黑箱測試:
表結構是否合理
數據結構(類型、長度)是否正確定義,輸入介面與數據結構是否一致
表與表之間的關聯是否正確,主鍵、外來鍵是否合理
索引的創建是否合理
儲存過程是否完整,能否正確接受輸入、輸出正確結果
能否正常新增、更新、刪除數據
能否正確處理併發操作
表級、列級完整性約束條件是否滿足
處理能力、可靠性、可維護性、性能是否滿足要求
留言
追蹤
檢舉
上一篇
Day 26 | 性能測試
下一篇
Day 28 | 手機APP測試(一)
系列文
開始系統測試
共
30
篇
目錄
RSS系列文
訂閱系列文
11
人訂閱
26
Day 26 | 性能測試
27
Day 27 | Web測試
28
Day 28 | 手機APP測試(一)
29
Day 29 | 手機APP測試(二)
30
Day 30 | 自動化測試概述
完整目錄
直播研討會
{{ item.subject }}
{{ item.channelVendor }}
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
1064
組
團體組數
40
組
累計文章數
22200
篇
完賽人數
602
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
windows server
linux
css
react
vue.js
熱門問題
熟識南投軟體工程師推薦
如何練國考資訊題?
筆電無法使用usb開機重裝系統
CCNA相關問題詢問
電商在販售商品時,可以自行縮短保固期限嗎?
求救 有人會修改cookie權限嗎
python scrapy pipeline實作問題請教
防火牆互通問題
函數問題
桌面的使用者文件圖標壞掉
熱門回答
防火牆互通問題
筆電無法使用usb開機重裝系統
if函數中的>&<&=是否可以使用儲存格代替
熟識南投軟體工程師推薦
開啟Microsoft Edge 瀏覽器無法開啟網頁,出現錯誤訊息
熱門文章
每日一篇學習筆記 直到我做完專題 :( [Day1]
[翻譯]使用AI工具寫程式碼時如何避免「AI幻覺」?
每日一篇學習筆記 直到我做完專題 :( [Day2]
每日一篇學習筆記 直到我做完專題 :( [Day3]
每日一篇學習筆記 直到我做完專題 :( [Day4]
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}